import { getEmitter } from '@/utils/event'
import { TabEvents } from './enums'

const emitter = getEmitter()

/* ------------------------ 标签事件 'all-tabs-closed'：当所有标签都被关闭时触发 ------------------------ */
/**监听 'all-tabs-closed' 事件 */
export function listenAllTabsClosed(listener: Function) {
  emitter.on(TabEvents.ALL_TABS_CLOSED, listener)
}

/**触发 'all-tabs-closed' 事件  */
export function allTabsClosed() {
  emitter.emit(TabEvents.ALL_TABS_CLOSED)
}

/* ------------------------ 标签事件 'tab-selected'：当激活任意标签时触发 ------------------------ */
/**监听 'tab-selected' 事件 */
export function listenTabSelected(listener: Function) {
  emitter.on(TabEvents.TAB_SELECTED, listener)
}
/**触发 'tab-selected' 事件 */
export function tabSelected(index: number, url: string) {
  emitter.emit(TabEvents.TAB_SELECTED)
}
